home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga CD-Sensation: Golden Games
/
Amiga CD-Sensation - Ausgabe 2 - Golden Games (1996)(GTI - Schatztruhe)(DE)[!].iso
/
Adventurer's
/
ACS
/
source
/
Bob_Konvert
< prev
next >
Wrap
Text File
|
1994-07-06
|
4KB
|
183 lines
;********************************
include "ram:makros_2"
start:
sys_init ;Screen oeffnen + Plane Adressen
;sichern
start2:
get_mem #50000,#$30001
cmp.l #0,d0
beq exit_err3
move.l d0,pic
add.l #100,d0
move.l d0,start_pic ;da fangen die eigentlichen
;Daten an
get_mem #70000,#Chip_Ram
cmp.l #0,d0
beq exit_err0
move.l d0,bob
loadb "adv:elemente/mon",pic,#5000 ;welche Grafiken
;sollen konvertiert
;werden ?
color #0,#0,#0,#0
set_pal pic
bsr wie_viele
bsr konvert
bsr shadow_mask
bsr save_bob
bra exit
konvert:
move.l start_pic,a0
move.l bob,a1
move.l long,d2
konvert_loop1
moveq #5,d1 ;6 planes
konvert_loop2:
move.l #15,d0
konvert_loop3:
move.w (a0)+,(a1)+
move.w #0,(a1)+
dbra d0,konvert_loop3
dbra d1,konvert_loop2
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
move.w #$ffff,(a1)+
dbra d2,konvert_loop1
rts
shadow_mask:
move.l long,d0 ;Anzahl der Bobs 64*6 384
move.l bob,a1
move.l a1,a0
shadow_loop0:
moveq #31,d2
shadow_loop1:
move.w 0(a0),d1
or.w 64(a0),d1
or.w 128(a0),d1
or.w 192(a0),d1
or.w 256(a0),d1
or.w 320(a0),d1
move.w d1,384(a0)
add.l #2,a0
dbra d2,shadow_loop1
add.l #448,a1
move.l a1,a0
dbra d0,shadow_loop0
rts
wie_viele:
cls
print #1,#0,#100,"Wieviele_Bobs_?"
zinput #1,#17,#100,number,#3
get_number number
cmp.l #255,d0
bgt wie_viele
move.l d0,long ;Länge der Bob Daten * 448
rts
save_bob:
set_block_2 #0,#0,bob,#0
set_block_2 #0,#20,bob,#1
set_block_2 #0,#40,bob,#2
set_block_2 #0,#60,bob,#3
set_block_2 #0,#80,bob,#4
set_block_2 #0,#100,bob,#5
set_block_2 #0,#120,bob,#6
set_block_2 #0,#140,bob,#7
set_block_2 #0,#160,bob,#8
set_block_2 #0,#180,bob,#9
set_block_2 #20,#0,bob,#10
set_block_2 #20,#20,bob,#11
set_block_2 #20,#40,bob,#12
set_block_2 #20,#60,bob,#13
set_block_2 #20,#80,bob,#14
set_block_2 #20,#100,bob,#15
set_block_2 #20,#120,bob,#16
set_block_2 #20,#140,bob,#17
set_block_2 #20,#160,bob,#18
set_block_2 #20,#180,bob,#19
set_block_2 #40,#0,bob,#20
set_block_2 #40,#20,bob,#21
set_block_2 #40,#40,bob,#22
set_block_2 #40,#60,bob,#23
set_block_2 #40,#80,bob,#24
set_block_2 #40,#100,bob,#25
set_block_2 #40,#120,bob,#26
set_block_2 #40,#140,bob,#27
set_block_2 #40,#160,bob,#28
set_block_2 #40,#180,bob,#29
set_block_2 #60,#0,bob,#30
set_block_2 #60,#20,bob,#31
set_block_2 #60,#40,bob,#32
set_block_2 #60,#60,bob,#33
set_block_2 #60,#80,bob,#34
set_block_2 #60,#100,bob,#35
set_block_2 #60,#120,bob,#36
set_block_2 #60,#140,bob,#37
set_block_2 #60,#160,bob,#38
set_block_2 #60,#180,bob,#39
move.l long,d0
mulu #448,d0
move.l d0,long
saveb "adv:bobs/mon.bob",bob,long ;Name kann man
rts ;ja ändern
exit:
fre_mem #70000,bob
fre_mem #50000,pic
sys_exit
rts
exit_err0:
fre_mem #50000,pic
exit_err3:
sys_exit
move.l #103,d0 ;nix Speicher
rts
pic: dc.l 0
start_pic: dc.l 0
bob: dc.l 0
long: dc.l 0
number: dc.b 0,0,0,0,0,0,0,0
include "ram:befehle"